next up previous
Next: 5.5 Implementation Issues for Up: 5 The Active Context Previous: 5.3 Augmenting the Address

5.4 Active Context Notification

The signals delivered to an APP are distinct from signals delivered to the calling process. While running in a protected procedure call, Unix signals posted for the calling process that would not result in immediate process death are not delivered until acreturn is called. If a signal resulting in immediate process death such as SIGKILL is posted for a calling process, the calling process dies immediately, but the APP continues running until acreturn is called at which point the APP terminates. One ramification of this is that protected procedure calls should not block indefinitely within the active context. For this reason, some means must exist for active context users to block on events occurring within the active context.

The file descriptor for the active context is not usable for I/O operations but is select-able and can be used to receive notification of state changes within the active context. Any process running within an active context can call:

  acnotify(app_id);
to cause select to indicate that the active context file descriptor of the specified APP is ``readable.'' Calling acnotify is usually preceded by some indication in a shared data structure within the active context of why the notification was delivered. In response to an acnotify, a process should perform a protected procedure call into the active context to determine why the signal was delivered. The call:
  acack();
will acknowledge a posted active context notification for the calling APP.



next up previous
Next: 5.5 Implementation Issues for Up: 5 The Active Context Previous: 5.3 Augmenting the Address



Mark Kilgard
Sun Jan 7 19:06:56 PST 1996